import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;

import javax.swing.JFrame;

import org.apache.torque.TorqueException;

import torque.generated.*;

import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JButton;

public class VueSuppressionVaisseau extends Vue{
	private Exception ExcepPasDeVaisseaux;
	private JList listVaisseaux;
	private JScrollPane scrollPaneVaisseaux;
	private JButton btnSupprimer;
	private JButton btnAnnuler;
	private JLabel lblVaisseau;
	private Vector<String> vectNomVaisseaux = new Vector<String>();
	private List<Vaisseau> vaisseaux;
	
	public VueSuppressionVaisseau(Controleur controleur) throws Exception {
		super(controleur);
		setTitle("Supression de vaisseau");
		// Affichage de la fenêtre non redimensionable
		setLocationRelativeTo(this.getParent());
		setVisible(true);
		setResizable(false);
		// Affectation de la dimension minimale pour la fenêtre
		Dimension dimMini = new Dimension();
		dimMini.height = 190;
		dimMini.width = 400;
		setMinimumSize(dimMini);
		// Ajout du layout a la fenêtre (position absolue)
		getContentPane().setLayout(null);
		
		lblVaisseau = new JLabel("Sélectionnez le vaisseau à supprimer dans la liste :");
		lblVaisseau.setBounds(12, 12, 374, 15);
		getContentPane().add(lblVaisseau);
		
		scrollPaneVaisseaux = new JScrollPane();
		scrollPaneVaisseaux.setBounds(12, 39, 374, 65);
		getContentPane().add(scrollPaneVaisseaux);
		
		listVaisseaux = new JList();
		scrollPaneVaisseaux.setViewportView(listVaisseaux);
		
		btnSupprimer = new JButton("Supprimer");
		btnSupprimer.setBounds(235, 116, 107, 25);
		btnSupprimer.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
					try {
						getControleur().supprVaisseau((String) listVaisseaux.getSelectedValue());
					} catch (TorqueException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					try {
						getControleur().lancerVueMenuJeu();
					} catch (Exception e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					getControleur().fermerVue(VueSuppressionVaisseau.this);
				}	
			});
		getContentPane().add(btnSupprimer);
		
		btnAnnuler = new JButton("Annuler");
		btnAnnuler.setBounds(116, 116, 107, 25);
		btnAnnuler.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getControleur().fermerVue(VueSuppressionVaisseau.this);
				try {
					getControleur().lancerVueMenuJeu();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
		getContentPane().add(btnAnnuler);
		
		vaisseaux = getControleur().getVaisseaux();
		Iterator<Vaisseau> itrVaisseaux = vaisseaux.iterator();
		while (itrVaisseaux.hasNext()){
			vectNomVaisseaux.add(itrVaisseaux.next().getNomv());
		}
		listVaisseaux.setListData(vectNomVaisseaux);
		
	}
}